Constructing image captchas utilizing private information of the images

ABSTRACT

An image CAPTCHA having one or more images, a challenge, and a correct answer to the challenge is constructed by selecting the one or more images from a plurality of candidate images based at least in part on each image&#39;s public information and private information. The private information of each of the images is accessible only to an entity responsible for constructing the CAPTCHA. Optionally, the one or more images are selected further based on the specific type of the CAPTCHA to be constructed.

TECHNICAL FIELD

The present disclosure generally relates to constructing image CAPTCHAsand more specifically relates to constructing image CAPTCHAs utilizingprivate information of the candidate images that is only known to theentity responsible for constructing the CAPTCHAs.

BACKGROUND

A CAPTCHA, or Captcha, is a type of challenge-response test used todetermine whether the response is generated by a machine, e.g., acomputer. The test is based on the assumption that a human's ability inpattern recognition is much superior to that of a machine's, at leastfor the present. In a typical scenario, a CAPTCHA test involvespresenting one or more images to a testee, i.e., the person beingtested, together with a challenge, i.e., a question. The challenge isrelated to the one or more images presented to the testee and generallyrequires the testee to recognize some form of pattern in the image(s).The testee needs to provide a correct response to the challenge in orderto pass the test.

FIGS. 1A and 1B illustrate two sample CAPTCHA tests 110 and 120. In FIG.1A, the CAPTCHA test 110 includes an image 111 of a distorted textstring. Note that texts may be considered a special form of image. Thechallenge 112 asks the testee to recognize the distorted text string andenter it in the response field 113. In order to pass the test, thetestee must enter the correct text string shown in the image 111. InFIG. 1B, the CAPTCHA test 120 includes an image 121 of an animal. Thechallenge 122 asks the testee to recognize the animal and describe it inthe response field 123. In order to pass the test, the testee mustcorrectly identify the animal shown in the image 121.

CAPTCHAs are often used to prevent automated computer software fromperforming actions that degrade the quality of service of a givensystem. When constructing CAPTCHA tests, several points often need to beconsidered. First, the challenges should be constructed such thatcurrent computer software is unable to determine the responsesaccurately while most humans can. Second, there need to be enoughinstances of CAPTCHA tests such that human CAPTCHA solvers employed byspammers are unable to enumerate them all. In addition, due to the greatamount of information publicly available and easily accessible, e.g.,via the Internet, it is possible that some of the publicly availableinformation may be used by computer software to help solve CAPTCHAchallenges.

SUMMARY

The present disclosure generally relates to constructing image CAPTCHAsand more specifically relates to constructing image CAPTCHAs utilizingprivate information of the candidate images that is only known to theentity responsible for constructing the CAPTCHAs.

According to various embodiments, a set of candidate images is obtained.Each candidate image has public information and private information. Thecandidate images may be obtained from various sources, including but notlimited to images publicly available on the Internet.

One or more images are selected from the set of candidate images basedon each image's public information and private information for theconstruction of an image CAPTCHA. The private information of an image isonly accessible by an entity responsible for constructing the CAPTCHA,i.e., the entity that causes the CAPTCHA to be constructed. The imageCAPTCHA includes the one or more selected images, a challenge, and acorrect response, such that it is difficult, even nearly impossible, fora computer to automatically determine the correct response of theCAPTCHA using only the public information of each of the selectedimage(s). In addition, the selection of the image(s) may be furtheroptimized based on the specific type of the CAPTCHA to be constructed.

These and other features, aspects, and advantages of the disclosure aredescribed in more detail below in the detailed description and inconjunction with the following figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIGS. 1A and 1B illustrate two sample CAPTCHA tests.

FIG. 2 illustrates a method of constructing an image CAPTCHA accordingto particular embodiments of the present disclose.

FIG. 3 illustrates an image-description type CAPTCHA.

FIG. 4 illustrates an image-similarity type CAPTCHA.

FIG. 5 illustrates a general computer system suitable for implementingembodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is now described in detail with reference to afew preferred embodiments thereof as illustrated in the accompanyingdrawings. In the following description, numerous specific details areset forth in order to provide a thorough understanding of the presentdisclosure. It is apparent, however, to one skilled in the art, that thepresent disclosure may be practiced without some or all of thesespecific details. In other instances, well known process steps and/orstructures have not been described in detail in order to notunnecessarily obscure the present disclosure. In addition, while thedisclosure is described in conjunction with the particular embodiments,it should be understood that this description is not intended to limitthe disclosure to the described embodiments. To the contrary, thedescription is intended to cover alternatives, modifications, andequivalents as may be included within the spirit and scope of thedisclosure as defined by the appended claims.

According to various embodiments of the present disclosure, an imageCAPTCHA having one or more images, a challenge, and a correct responseis constructed by selecting the one or more images from a set ofcandidate images based on each image's public information and privateinformation. An image's private information is accessible only to anentity responsible for constructing the CAPTCHA. The candidate imagesmay be obtained from a variety of sources, including but not limited topublicly accessible images on the Internet.

Although texts may be considered a special form of image, imagerecognition, i.e., analyzing and recognizing patterns in true images,presents a still more difficult challenge than character recognition tocomputer systems. Thus, true image-based CAPTCHAs are more difficult forspammers utilizing automated computed programs to defeat. Since thecandidate images from which the images used for constructing theCAPTCHAs are selected may include any publicly accessible image on theInternet, the base for selecting the CAPTCHA images is extremely large,in fact, too large for automated computer systems to enumerateresponses. On the other hand, many images on the Internet enjoycopyright protections. When these images are used, it is often necessaryto provide information, e.g., the origins, of the images. The automatedcomputer systems may use such information to help guess the correctresponses to the CAPTCHAs constructed using these images. However, byutilizing private information of the candidate images that is accessibleonly to the entity responsible for constructing the CAPTCHAs whenselecting the CAPTCHA images, the CAPTCHA challenges may be crafted suchthat it is very difficult, even nearly impossible, for automatedcomputer systems to guess the correct CAPTCHA responses using only thepublic information of each of the CAPTCHA images.

Constructing Image CAPTCHAs

FIG. 2 illustrates a method of constructing an image CAPTCHA accordingto particular embodiments of the present disclose. A set of candidateimages is obtained (step 210). Each of the candidate images has publicinformation and private information. Each candidate image's publicinformation may be accessible by any entity, e.g., any person, anycomputer software, etc. On the other hand, each candidate image'sprivate information is accessible only to a specific entity responsiblefor causing the CAPTCHA to be constructed. Consequently, each candidateimage's private information is accessible by computer software, e.g.,the computer software that constructs the image CAPTCHA, associated withthe entity responsible for causing the CAPTCHA to be constructed.

The candidate images may be obtained from a variety of sources,including but not limited to images publicly available on the Internet,images from private collections, and any image that is accessible by theentity responsible for causing the CAPTCHA to be constructed.

According to particular embodiments, the entity responsible for causingthe CAPTCHA to be constructed is associated with an Internet searchengine. When Internet users communicate search queries to the searchengine, the content of the search queries are only known to the searchengine and consequently to the entity associated with the search engine.These search queries may be collected and processed to obtain privateinformation of candidate images obtained from the Internet.

For example, suppose a person wishes to locate images of white orchid onthe Internet. The person communicates the search query “white orchid” tothe search engine associated with the entity responsible for causing theCAPTCHA to be constructed. The search engine conducts a search on theInternet and returns a set of result images. It may be assumed that eachof the result images is an image of white orchid. Thus, each of theresult images may have private information indicating that the image isrelated to white orchid. However, the assumption may not be completelyaccurate for all of the result images.

To further refine the accuracy of the images' private information,suppose the person selects a particular one of the result images forfurther viewing by clicking on a link associated with the specificresult image. Since it is known that the person is searching for imagesof white orchid, the fact that the person has selected a particular oneof the result images may further indicate that at least this particularimage selected by the person is most likely an image of white orchid.Thus, the particular image selected by the person may have privateinformation indicating that the image is related to white orchid.

According to particular embodiments, the entity responsible for causingthe CAPTCHA to be constructed is associated with a server, such as a webapplication server. Internet activities conducted on the server are onlyknown to the server and consequently to the entity associated with theserver. These activities may be monitored and information of theactivities may be collected and stored, such as in a database or in oneor more log files. The information may be processed to obtain privateinformation of candidate images obtained from the Internet.

For example, suppose a person wishes to locate information about theGolden Gate Bridge in San Francisco Bay on the Internet. The person maysearch for and view web pages relating to the Golden Gate Bridge. If aweb page viewed by the person contains an image, it is likely that theimage is an image of the Golden Gate Bridge or at least relates to theGolden Gate Bridge. Thus, the image contained in the web page may haveprivate information indicating that the image is related to the GoldenGate Bridge.

Internet search and activity logs accessible only to the entityassociated with the search engine or server are one source for obtainingprivate information of the candidate images obtained on the Internet.Private information of the candidate images may be obtained from anysource that is accessible only to the entity responsible for causing theCAPTCHA to be constructed. For example, if the candidate images comefrom a private collection, these candidate images may have informationinaccessible to the general public, which may be used to obtain privateinformation for the candidate images.

One or more images are selected from the set of candidate images basedon each image's private information and public information for theconstruction of an image CAPTCHA (step 220). The image(s) is/areselected such that when they are used to construct the image CAPTCHAthat includes the selected image(s), a challenge, and a correctresponse, it is difficult, even nearly impossible, for a computer toautomatically determine the correct response of the image CAPTCHA usingonly the public information of each of the selected image(s) (step 230).

According to various embodiments, in general, the process for selectingimages for a CAPTCHA starts with a set of candidate images from which toselect the CAPTCHA images. For each of these candidate images, as muchpublicly and privately available information is obtained as possible.Upon obtaining the pertinent information, the information is given asinput to a CAPTCHA type-specific procedure. The procedure returns ajudgment on whether the candidate image is suitable for use in theCAPTCHA under consideration based on the pertinent information about thecandidate image. The procedure for image selection may make a decisionon several candidate images at a time for some types of CAPTCHAs.

Although the steps of the method illustrated in FIG. 2 are described asoccurring in a particular order, the present disclosure contemplates anysuitable steps of the method illustrated in FIG. 2 occurring in anyparticular order.

Refining the Image Selection Process

There are different types of CAPTCHA challenges. The two sample CAPTCHAtests illustrated in FIGS. 1A and 1B requests the testee to recognizeand describe the subject matter of the image presented. Other types ofCAPTCHA include requesting the testee to selected one image frommultiple images that best matches or is most similar to a target image,to find the boundary or geometric center of an image that is positionedamong multiple connected and optionally distorted images, etc. Accordingto particular embodiments, if the specific type of the CAPTCHA to beconstructed is known, then the selection of the image(s) used for theCAPTCHA may be further refined based on the type of the CAPTCHA to beconstructed.

FIG. 3 illustrates an image-description type CAPTCHA 300. An image 310is presented to the testee. The challenge is for the testee to describethe subject matter of the image 310. The challenge may be presented in avariety of ways. For example, in one option, the testee may be asked toprovide a word or a phrase 320 that describes the object in the image310. In an alternative option, the testee may be asked to select one ofthe multiple words provided 330 that describes the object in the image310. For this type of CAPTCHA, it is preferable that the image selectedhas little or no public information and/or incorrect public information.

For a computer program to solve image-description type CAPTCHAs, inaddition to image recognition or pattern recognition algorithms, whichoften do not provide satisfactory results, the computer program may usepublicly available information associated with the presented image tohelp determine the subject matter of the presented image. The publicinformation may include tags, descriptions, and other publicly availabledata associated with the image. Thus, the less public information of thepresented image is available, the more difficult it is for the computerprogram to guess the correct subject matter of the presented image.Alternatively or in addition, if the presented image has incorrectpublic information, it may mislead the computer program into guessingthe wrong response. Whether an image's public information is correct orincorrect may be determined by comparing the image's public informationagainst the image's private information. If the two sets of informationdo not agree mostly, it is likely that the image's public information islargely incorrect.

Thus, to construct an image-description type CAPTCHA, it is desirable toselect an image that has public information that is orthogonal to thecorrect response of the CAPTCHA. Generally, the less correct publicinformation and/or the more incorrect public information the presentedimage has, the more difficult it is for the computer program to guessthe correct response. In step 220, when selecting an image from thecandidate images to construct an image-description type CAPTCHA, theselection process may be further refined by analyzing the amount and/orthe correctness of the public information of each candidate image andselecting an image that has relatively little or no public informationand/or mostly incorrect public information.

FIG. 4 illustrates an image-similarity type CAPTCHA 400. A target image410 and a set of additional choice images 421, 422, 423, 424 arepresented to the testee. The challenge is for the testee to select fromthe additional choice images 421, 422, 423, 424 one image that matchesor is similar to the target image 410. In this example, the testee isasked to select one of the additional choice images 421, 422, 423, 424that shows the same person as that in the target image 410.

For a computer program to solve image-similarity type CAPTCHAs, thecomputer program may use publication information associated with thepresented images to help determine which of the additional choice imagesshows the same subject matter as that in the target image. If thecorrect response image and the target image have little or no similarpublic information, then it may be difficult for the computer program toguess the correct response image using the public images of each of thepresented images. In this example, the image 422 shows the same personas that in the target image 410. If the image 422 and the target image410 share little or no similar public information, then it may bedifficult for the computer program to guess that the image 422 is thecorrect response image. Optionally in addition, if the incorrectresponse images, i.e., the images 421, 423, 424, share similar publicinformation with the target image 410, then it may mislead the computerprogram into guessing the wrong response image.

Thus, to construct an image-similarity type CAPTCHA, it is desirable toselect a set of images where the target image and the correct responseimage share little or no similar public information, i.e., thedifference between the publication information of the target image andthe public information of the correct response image is relativelylarge. Generally, the less similar public information shared between thetarget image and the correct response image, the more difficult for thecomputer program to guess the correct response image using each image'spublic information. In step 220, when selecting images from thecandidate images to construct an image-similarity type CAPTCHA, theselection process may be further refined by analyzing the degrees ofsimilarity between the public information of the selected target imageand the public information of each of the selected additional choiceimages and selecting a target image and a correct response image thatshare little or no similar public information. Optionally in addition,those additional choice images other than the correct response image maybe selected based on their sharing similar public information with thetarget image.

Computer System

The method described above may be implemented as computer software usingcomputer-readable instructions and physically stored incomputer-readable medium. A “computer-readable medium” as used hereinmay be any medium that can contain, store, communicate, propagate, ortransport the program for use by or in connection with the instructionexecution system, apparatus, system or device. The computer readablemedium may be, by way of example only but not by limitation, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, system, device, propagation medium, orcomputer memory.

The computer software may be encoded using any suitable computerlanguages, including future programming languages. Different programmingtechniques can be employed, such as, for example, procedural or objectoriented. The software instructions may be executed on various types ofcomputers, including single or multiple processor devices.

Embodiments of the present disclosure may be implemented by using aprogrammed general purpose digital computer, by using applicationspecific integrated circuits, programmable logic devices, fieldprogrammable gate arrays, optical, chemical, biological, quantum ornano-engineered systems, components and mechanisms may be used. Ingeneral, the functions of the present disclosure can be achieved by anymeans as is known in the art. Distributed, or networked systems,components and circuits can be used. Communication, or transfer, of datamay be wired, wireless, or by any other means.

For example, FIG. 5 illustrates a computer system 500 suitable forimplementing embodiments of the present disclosure. The components shownin FIG. 5 for computer system 500 are exemplary in nature and are notintended to suggest any limitation as to the scope of use orfunctionality of the computer software implementing embodiments of thepresent disclosure. Neither should the configuration of components beinterpreted as having any dependency or requirement relating to any oneor combination of components illustrated in the exemplary embodiment ofa computer system. Computer system 500 may have many physical formsincluding an integrated circuit, a printed circuit board, a smallhandheld device (such as a mobile telephone or PDA), a personal computeror a super computer.

Computer system 500 includes a display 532, one or more input devices533 (e.g., keypad, keyboard, mouse, stylus, etc.), one or more outputdevices 534 (e.g., speaker), one or more storage devices 535, varioustypes of storage medium 536.

The system bus 540 link a wide variety of subsystems. As understood bythose skilled in the art, a “bus” refers to a plurality of digitalsignal lines serving a common function. The system bus 540 may be any ofseveral types of bus structures including a memory bus, a peripheralbus, and a local bus using any of a variety of bus architectures. By wayof example and not limitation, such architectures include the IndustryStandard Architecture (ISA) bus, Enhanced ISA (EISA) bus, the MicroChannel Architecture (MCA) bus, the Video Electronics StandardsAssociation local (VLB) bus, the Peripheral Component Interconnect (PCI)bus, the PCI-Express bus (PCI-X), and the Accelerated Graphics Port(AGP) bus.

Processor(s) 501 (also referred to as central processing units, or CPUs)optionally contain a cache memory unit 502 for temporary local storageof instructions, data, or computer addresses. Processor(s) 501 arecoupled to storage devices including memory 503. Memory 503 includesrandom access memory (RAM) 504 and read-only memory (ROM) 505. As iswell known in the art, ROM 505 acts to transfer data and instructionsuni-directionally to the processor(s) 501, and RAM 504 is used typicallyto transfer data and instructions in a bi-directional manner. Both ofthese types of memories may include any suitable of thecomputer-readable media described below.

A fixed storage 508 is also coupled bi-directionally to the processor(s)501, optionally via a storage control unit 507. It provides additionaldata storage capacity and may also include any of the computer-readablemedia described below. Storage 508 may be used to store operating system509, EXECs 510, application programs 512, data 511 and the like and istypically a secondary storage medium (such as a hard disk) that isslower than primary storage. It should be appreciated that theinformation retained within storage 508, may, in appropriate cases, beincorporated in standard fashion as virtual memory in memory 503.

Processor(s) 501 is also coupled to a variety of interfaces such asgraphics control 521, video interface 522, input interface 523, outputinterface, storage interface 525, and these interfaces in turn arecoupled to the appropriate devices. In general, an input/output devicemay be any of: video displays, track balls, mice, keyboards,microphones, touch-sensitive displays, transducer card readers, magneticor paper tape readers, tablets, styluses, voice or handwritingrecognizers, biometrics readers, or other computers. Processor(s) 501may be coupled to another computer or telecommunications network 530using network interface 520. With such a network interface 520, it iscontemplated that the CPU 501 might receive information from the network530, or might output information to the network in the course ofperforming the above-described method steps. Furthermore, methodembodiments of the present disclosure may execute solely upon CPU 501 ormay execute over a network 530 such as the Internet in conjunction witha remote CPU 501 that shares a portion of the processing.

According to various embodiments, when in a network environment, i.e.,when computer system 500 is connected to network 530, computer system500 may communicate with other devices that are also connected tonetwork 530. Communications may be sent to and from computer system 500via network interface 520. For example, incoming communications, such asa request or a response from another device, in the form of one or morepackets, may be received from network 530 at network interface 520 andstored in selected sections in memory 503 for processing. Outgoingcommunications, such as a request or a response to another device, againin the form of one or more packets, may also be stored in selectedsections in memory 503 and sent out to network 530 at network interface520. Processor(s) 501 may access these communication packets stored inmemory 503 for processing.

In addition, embodiments of the present disclosure further relate tocomputer storage products with a computer-readable medium that havecomputer code thereon for performing various computer-implementedoperations. The media and computer code may be those specially designedand constructed for the purposes of the present disclosure, or they maybe of the kind well known and available to those having skill in thecomputer software arts. Examples of computer-readable media include, butare not limited to: magnetic media such as hard disks, floppy disks, andmagnetic tape; optical media such as CD-ROMs and holographic devices;magneto-optical media such as floptical disks; and hardware devices thatare specially configured to store and execute program code, such asapplication-specific integrated circuits (ASICs), programmable logicdevices (PLDs) and ROM and RAM devices. Examples of computer codeinclude machine code, such as produced by a compiler, and filescontaining higher-level code that are executed by a computer using aninterpreter.

As an example and not by way of limitation, the computer system havingarchitecture 500 may provide functionality as a result of processor(s)501 executing software embodied in one or more tangible,computer-readable media, such as memory 503. The software implementingvarious embodiments of the present disclosure may be stored in memory503 and executed by processor(s) 501. A computer-readable medium mayinclude one or more memory devices, according to particular needs.Memory 503 may read the software from one or more othercomputer-readable media, such as mass storage device(s) 535 or from oneor more other sources via communication interface. The software maycause processor(s) 501 to execute particular processes or particularsteps of particular processes described herein, including defining datastructures stored in memory 503 and modifying such data structuresaccording to the processes defined by the software. In addition or as analternative, the computer system may provide functionality as a resultof logic hardwired or otherwise embodied in a circuit, which may operatein place of or together with software to execute particular processes orparticular steps of particular processes described herein. Reference tosoftware may encompass logic, and vice versa, where appropriate.Reference to a computer-readable media may encompass a circuit (such asan integrated circuit (IC)) storing software for execution, a circuitembodying logic for execution, or both, where appropriate. The presentdisclosure encompasses any suitable combination of hardware andsoftware.

A “processor,” “process,” or “act” includes any human, hardware and/orsoftware system, mechanism or component that processes data, signals orother information. A processor can include a system with ageneral-purpose central processing unit, multiple processing units,dedicated circuitry for achieving functionality, or other systems.Processing need not be limited to a geographic location, or havetemporal limitations. For example, a processor can perform its functionsin “real time,” “offline,” in a “batch mode,” etc. Portions ofprocessing can be performed at different times and at differentlocations, by different (or the same) processing systems.

Although the acts, operations or computations disclosed herein may bepresented in a specific order, this order may be changed in differentembodiments. In addition, the various acts disclosed herein may berepeated one or more times using any suitable order. In someembodiments, multiple acts described as sequential in this disclosurecan be performed at the same time. The sequence of operations describedherein can be interrupted, suspended, or otherwise controlled by anotherprocess, such as an operating system, kernel, etc. The acts can operatein an operating system environment or as stand-alone routines occupyingall, or a substantial part, of the system processing.

Reference throughout the present disclosure to “particular embodiment,”“example embodiment,” “illustrated embodiment,” “some embodiments,”“various embodiments,” “one embodiment,” or “an embodiment” means that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment of thepresent disclosure and not necessarily in all embodiments. Thus,respective appearances of the phrases “in a particular embodiment,” “inone embodiment,” “in some embodiments,” or “in various embodiments” invarious places throughout this specification are not necessarilyreferring to the same embodiment. Furthermore, the particular features,structures, or characteristics of any specific embodiment of the presentdisclosure may be combined in any suitable manner with one or more otherembodiments. It is to be understood that other variations andmodifications of the embodiments of the present disclosure described andillustrated herein are possible in light of the teachings herein and areto be considered as part of the spirit and scope of the presentdisclosure.

It will also be appreciated that one or more of the elements depicted inFIGS. 1 through 5 can also be implemented in a more separated orintegrated manner, or even removed or rendered as inoperable in certaincases, as is useful in accordance with a particular application.

As used in the description herein and throughout the claims that follow,“a”, “an”, and “the” includes plural references unless the contextclearly dictates otherwise. Also, as used in the description herein andthroughout the claims that follow, the meaning of “in” includes “in” and“on” unless the context clearly dictates otherwise. Additionally, theterm “or” as used herein is generally intended to mean “and/or” unlessotherwise indicated. Combinations of components or steps will also beconsidered as being noted, where terminology is foreseen as renderingthe ability to separate or combine is unclear.

While this disclosure has described several preferred embodiments, thereare alterations, permutations, and various substitute equivalents, whichfall within the scope of this disclosure. It should also be noted thatthere are many alternative ways of implementing the methods andapparatuses of the present disclosure. It is therefore intended that thefollowing appended claims be interpreted as including all suchalterations, permutations, and various substitute equivalents as fallwithin the true spirit and scope of the present disclosure.

1. A method, comprising: accessing a plurality of candidate images, eachcandidate image comprising public information and private information;selecting one or more images from the plurality of candidate imagesbased at least in part on each image's public information and privateinformation; and constructing a CAPTCHA comprising the one or moreimages, a challenge, and a correct response, wherein it is difficult fora computer to automatically determine the correct response using onlythe public information of each of the one or more images, and whereinthe private information of each of the one or more images is accessibleonly to an entity responsible for constructing the CAPTCHA.
 2. Themethod as recited in claim 1, wherein it is nearly impossible for thecomputer to automatically determine the correct response of the CAPTCHAusing only the public information of each of the one or more images. 3.The method as recited in claim 1, wherein it is impossible for thecomputer to automatically determine the correct response of the CAPTCHAusing only the public information of each of the one or more images. 4.The method as recited in claim 1, wherein selecting the one or moreimages from the plurality of candidate images is further based on a typeof the CAPTCHA.
 5. The method as recited in claim 4, wherein: the one ormore images comprises one image, the challenge comprises describing asubject matter of the image, and the image is selected from theplurality of candidate images based on the image lacking publicinformation or having incorrect public information.
 6. The method asrecited in claim 4, wherein: the one or more images comprises one targetimage and a plurality of choice images, the challenge comprisesselecting a response image from the plurality of choice images that hasa subject matter that is most similar to a subject matter of the targetimage among the plurality of choice images, and the target image and theplurality of choice images are selected from the plurality of candidateimages based on the target image and the response image having differentpublic information.
 7. The method as recited in claim 6, wherein thetarget image and the plurality of choice images are selected from theplurality of candidate images further based on the target image and eachof the plurality of choice images other than the response image havingsimilar public information.
 8. The method as recited in claim 1, furthercomprising obtaining the plurality of candidate images from theInternet.
 9. The method as recited in claim 8, further comprisingobtaining the private information of each of the plurality of candidateimages from search queries communicated to a search engine associatedwith the entity.
 10. The method as recited in claim 8, furthercomprising obtaining the private information of each of the plurality ofcandidate images from logs generated by a server associated with theentity, wherein the logs comprises data relating to Internet activitiesconducted via the server.
 11. A computer program product comprising aplurality of computer program instructions physically stored in acomputer-readable medium, wherein the plurality of computer programinstructions are operable to cause at least one computing device to:access a plurality of candidate images, each candidate image comprisingpublic information and private information; select one or more imagesfrom the plurality of candidate images based at least in part on eachimage's public information and private information; and construct aCAPTCHA comprising the one or more images, a challenge, and a correctresponse, wherein it is difficult for a computer to automaticallydetermine the correct response using only the public information of eachof the one or more images, and wherein the private information of eachof the one or more images is accessible only to an entity responsiblefor constructing the CAPTCHA.
 12. The computer program product asrecited in claim 11, wherein it is nearly impossible for the computer toautomatically determine the correct response of the CAPTCHA using onlythe public information of each of the one or more images.
 13. Thecomputer program product as recited in claim 11, wherein it isimpossible for the computer to automatically determine the correctresponse of the CAPTCHA using only the public information of each of theone or more images.
 14. The computer program product as recited in claim11, wherein to select the one or more images from the plurality ofcandidate images is further based on a type of the CAPTCHA.
 15. Thecomputer program product as recited in claim 14, wherein: the one ormore images comprises one image, the challenge comprises describing asubject matter of the image, and the image is selected from theplurality of candidate images based on the image lacking publicinformation or having incorrect public information.
 16. The computerprogram product as recited in claim 14, wherein: the one or more imagescomprises one target image and a plurality of choice images, thechallenge comprises selecting a response image from the plurality ofchoice images that has a subject matter that is most similar to asubject matter of the target image among the plurality of choice images,and the target image and the plurality of choice images are selectedfrom the plurality of candidate images based on the target image and theresponse image having different public information.
 17. The computerprogram product as recited in claim 16, wherein the target image and theplurality of choice images are selected from the plurality of candidateimages further based on the target image and each of the plurality ofchoice images other than the response image having similar publicinformation.
 18. The computer program product as recited in claim 11,wherein the plurality of computer program instructions are furtheroperable to cause the at least one computing device to obtain theplurality of candidate images from the Internet.
 19. The computerprogram product as recited in claim 18, wherein the plurality ofcomputer program instructions are further operable to cause the at leastone computing device to obtain the private information of each of theplurality of candidate images from search queries communicated to asearch engine associated with the entity.
 20. The computer programproduct as recited in claim 18, wherein the plurality of computerprogram instructions are further operable to cause the at least onecomputing device to obtain the private information of each of theplurality of candidate images from logs generated by a server associatedwith the entity, wherein the logs comprises data relating to Internetactivities conducted via the server.